export const CountryCodes = [
  { label: '中国', value: 'cn' },
  { label: '香港', value: 'hk' },
  { label: '澳门', value: 'mo' },
  { label: '台湾', value: 'tw' },
  { label: '中国大陆', value: 'cn' },
  { label: '中国香港', value: 'hk' },
  { label: '中国澳门', value: 'mo' },
  { label: '中国台湾', value: 'tw' },
  //{ label: '海外地区', value: 'foreign' },
  { label: '安道尔', value: 'ad' },
  { label: '阿联酋', value: 'ae' },
  { label: '阿富汗', value: 'af' },
  { label: '安提瓜和巴布达', value: 'ag' },
  { label: '安圭拉', value: 'ai' },
  { label: '阿尔巴尼亚', value: 'al' },
  { label: '亚美尼亚', value: 'am' },
  { label: '安哥拉', value: 'ao' },
  { label: '南极洲', value: 'aq' },
  { label: '阿根廷', value: 'ar' },
  { label: '美属萨摩亚', value: 'as' },
  { label: '奥地利', value: 'at' },
  { label: '澳大利亚', value: 'au' },
  { label: '阿鲁巴', value: 'aw' },
  { label: '奥兰群岛', value: 'ax' },
  { label: '阿塞拜疆', value: 'az' },
  { label: '波黑', value: 'ba' },
  { label: '巴巴多斯', value: 'bb' },
  { label: '孟加拉国', value: 'bd' },
  { label: '比利时', value: 'be' },
  { label: '布基纳法索', value: 'bf' },
  { label: '保加利亚', value: 'bg' },
  { label: '巴林', value: 'bh' },
  { label: '布隆迪', value: 'bi' },
  { label: '贝宁', value: 'bj' },
  { label: '圣巴泰勒米', value: 'bl' },
  { label: '百慕大', value: 'bm' },
  { label: '文莱', value: 'bn' },
  { label: '玻利维亚', value: 'bo' },
  { label: '博奈尔岛、圣尤斯达蒂斯和萨巴', value: 'bq' },
  { label: '巴西', value: 'br' },
  { label: '巴哈马', value: 'bs' },
  { label: '不丹', value: 'bt' },
  { label: '布维岛', value: 'bv' },
  { label: '博茨瓦纳', value: 'bw' },
  { label: '白俄罗斯', value: 'by' },
  { label: '伯利兹', value: 'bz' },
  { label: '加拿大', value: 'ca' },
  { label: '科科斯（基林）群岛', value: 'cc' },
  { label: '扎伊尔', value: 'cd' },
  { label: '中非', value: 'cf' },
  { label: '刚果共和国', value: 'cg' },
  { label: '瑞士', value: 'ch' },
  { label: '象牙海岸', value: 'ci' },
  { label: '库克群岛', value: 'ck' },
  { label: '智利', value: 'cl' },
  { label: '喀麦隆', value: 'cm' },
  { label: '哥伦比亚', value: 'co' },
  { label: '哥斯达黎加', value: 'cr' },
  { label: '古巴', value: 'cu' },
  { label: '佛得角', value: 'cv' },
  { label: '库拉索', value: 'cw' },
  { label: '圣诞岛', value: 'cx' },
  { label: '塞浦路斯', value: 'cy' },
  { label: '捷克', value: 'cz' },
  { label: '德国', value: 'de' },
  { label: '吉布提', value: 'dj' },
  { label: '丹麦', value: 'dk' },
  { label: '多米尼克', value: 'dm' },
  { label: '多米尼加', value: 'do' },
  { label: '阿尔及利亚', value: 'dz' },
  { label: '厄瓜多尔', value: 'ec' },
  { label: '爱沙尼亚', value: 'ee' },
  { label: '埃及', value: 'eg' },
  { label: '西撒哈拉', value: 'eh' },
  { label: '厄立特里亚', value: 'er' },
  { label: '西班牙', value: 'es' },
  { label: '埃塞俄比亚', value: 'et' },
  { label: '芬兰', value: 'fi' },
  { label: '斐济', value: 'fj' },
  { label: '福克兰群岛（马尔维纳斯）', value: 'fk' },
  { label: '密克罗尼西亚联邦', value: 'fm' },
  { label: '法罗群岛', value: 'fo' },
  { label: '法国', value: 'fr' },
  { label: '加蓬', value: 'ga' },
  { label: '英国', value: 'gb' },
  { label: '格林纳达', value: 'gd' },
  { label: '格鲁吉亚', value: 'ge' },
  { label: '法属圭亚那', value: 'gf' },
  { label: '根西岛', value: 'gg' },
  { label: '加纳', value: 'gh' },
  { label: '直布罗陀', value: 'gi' },
  { label: '格陵兰', value: 'gl' },
  { label: '冈比亚', value: 'gm' },
  { label: '几内亚', value: 'gn' },
  { label: '瓜德罗普', value: 'gp' },
  { label: '赤道几内亚', value: 'gq' },
  { label: '希腊', value: 'gr' },
  { label: '南乔治亚岛和南桑德韦奇岛', value: 'gs' },
  { label: '危地马拉', value: 'gt' },
  { label: '关岛', value: 'gu' },
  { label: '几内亚比绍', value: 'gw' },
  { label: '圭亚那', value: 'gy' },
  { label: '赫德岛和麦克唐纳岛', value: 'hm' },
  { label: '洪都拉斯', value: 'hn' },
  { label: '克罗地亚', value: 'hr' },
  { label: '海地', value: 'ht' },
  { label: '匈牙利', value: 'hu' },
  { label: '印度尼西亚', value: 'id' },
  { label: '爱尔兰', value: 'ie' },
  { label: '以色列', value: 'il' },
  { label: '英国属地曼岛', value: 'im' },
  { label: '印度', value: 'in' },
  { label: '英属印度洋领地', value: 'io' },
  { label: '伊拉克', value: 'iq' },
  { label: '伊朗', value: 'ir' },
  { label: '冰岛', value: 'is' },
  { label: '意大利', value: 'it' },
  { label: '泽西岛', value: 'je' },
  { label: '牙买加', value: 'jm' },
  { label: '约旦', value: 'jo' },
  { label: '日本', value: 'jp' },
  { label: '肯尼亚', value: 'ke' },
  { label: '吉尔吉斯斯坦', value: 'kg' },
  { label: '柬埔寨', value: 'kh' },
  { label: '基里巴斯', value: 'ki' },
  { label: '科摩罗', value: 'km' },
  { label: '圣基茨和尼维斯', value: 'kn' },
  { label: '朝鲜', value: 'kp' },
  { label: '韩国', value: 'kr' },
  { label: '科威特', value: 'kw' },
  { label: '开曼群岛', value: 'ky' },
  { label: '哈萨克斯坦', value: 'kz' },
  { label: '老挝', value: 'la' },
  { label: '黎巴嫩', value: 'lb' },
  { label: '圣卢西亚', value: 'lc' },
  { label: '列支敦士登', value: 'li' },
  { label: '斯里兰卡', value: 'lk' },
  { label: '利比里亚', value: 'lr' },
  { label: '莱索托', value: 'ls' },
  { label: '立陶宛', value: 'lt' },
  { label: '卢森堡', value: 'lu' },
  { label: '拉脱维亚', value: 'lv' },
  { label: '利比亚', value: 'ly' },
  { label: '摩洛哥', value: 'ma' },
  { label: '摩纳哥', value: 'mc' },
  { label: '摩尔多瓦', value: 'md' },
  { label: '黑山', value: 'me' },
  { label: '法属圣马丁', value: 'mf' },
  { label: '马达加斯加', value: 'mg' },
  { label: '马绍尔群岛', value: 'mh' },
  { label: '前南马其顿', value: 'mk' },
  { label: '马里', value: 'ml' },
  { label: '缅甸', value: 'mm' },
  { label: '蒙古', value: 'mn' },
  { label: '北马里亚纳', value: 'mp' },
  { label: '马提尼克', value: 'mq' },
  { label: '毛利塔尼亚', value: 'mr' },
  { label: '蒙特塞拉特', value: 'ms' },
  { label: '马耳他', value: 'mt' },
  { label: '毛里求斯', value: 'mu' },
  { label: '马尔代夫', value: 'mv' },
  { label: '马拉维', value: 'mw' },
  { label: '墨西哥', value: 'mx' },
  { label: '马来西亚', value: 'my' },
  { label: '莫桑比克', value: 'mz' },
  { label: '纳米比亚', value: 'na' },
  { label: '新喀里多尼亚', value: 'nc' },
  { label: '尼日尔', value: 'ne' },
  { label: '诺福克岛', value: 'nf' },
  { label: '尼日利亚', value: 'ng' },
  { label: '尼加拉瓜', value: 'ni' },
  { label: '荷兰', value: 'nl' },
  { label: '挪威', value: 'no' },
  { label: '尼泊尔', value: 'np' },
  { label: '瑙鲁', value: 'nr' },
  { label: '纽埃', value: 'nu' },
  { label: '新西兰', value: 'nz' },
  { label: '阿曼', value: 'om' },
  { label: '巴拿马', value: 'pa' },
  { label: '秘鲁', value: 'pe' },
  { label: '法属波利尼西亚', value: 'pf' },
  { label: '巴布亚新几内亚', value: 'pg' },
  { label: '菲律宾', value: 'ph' },
  { label: '巴基斯坦', value: 'pk' },
  { label: '波兰', value: 'pl' },
  { label: '圣皮埃尔和密克隆群岛', value: 'pm' },
  { label: '皮特凯恩', value: 'pn' },
  { label: '波多黎各', value: 'pr' },
  { label: '巴勒斯坦', value: 'ps' },
  { label: '葡萄牙', value: 'pt' },
  { label: '帕劳', value: 'pw' },
  { label: '巴拉圭', value: 'py' },
  { label: '卡塔尔', value: 'qa' },
  { label: '留尼汪', value: 're' },
  { label: '罗马尼亚', value: 'ro' },
  { label: '塞尔维亚', value: 'rs' },
  { label: '俄罗斯联邦', value: 'ru' },
  { label: '卢旺达', value: 'rw' },
  { label: '沙特阿拉伯', value: 'sa' },
  { label: '所罗门群岛', value: 'sb' },
  { label: '塞舌尔', value: 'sc' },
  { label: '苏丹', value: 'sd' },
  { label: '瑞典', value: 'se' },
  { label: '新加坡', value: 'sg' },
  { label: '圣赫勒拿', value: 'sh' },
  { label: '斯洛文尼亚', value: 'si' },
  { label: '斯瓦尔巴岛和扬马延岛', value: 'sj' },
  { label: '斯洛伐克', value: 'sk' },
  { label: '塞拉利昂', value: 'sl' },
  { label: '圣马力诺', value: 'sm' },
  { label: '塞内加尔', value: 'sn' },
  { label: '索马里', value: 'so' },
  { label: '苏里南', value: 'sr' },
  { label: '南苏丹', value: 'ss' },
  { label: '圣多美和普林西比', value: 'st' },
  { label: '萨尔瓦多', value: 'sv' },
  { label: '圣马丁岛', value: 'sx' },
  { label: '叙利亚', value: 'sy' },
  { label: '斯威士兰', value: 'sz' },
  { label: '特克斯和凯科斯群岛', value: 'tc' },
  { label: '乍得', value: 'td' },
  { label: '法属南部领地', value: 'tf' },
  { label: '多哥', value: 'tg' },
  { label: '泰国', value: 'th' },
  { label: '塔吉克斯坦', value: 'tj' },
  { label: '托克劳', value: 'tk' },
  { label: '东帝汶', value: 'tl' },
  { label: '土库曼斯坦', value: 'tm' },
  { label: '突尼斯', value: 'tn' },
  { label: '汤加', value: 'to' },
  { label: '土耳其', value: 'tr' },
  { label: '特立尼达和多巴哥', value: 'tt' },
  { label: '图瓦卢', value: 'tv' },
  { label: '坦桑尼亚', value: 'tz' },
  { label: '乌克兰', value: 'ua' },
  { label: '乌干达', value: 'ug' },
  { label: '美国本土外小岛屿', value: 'um' },
  { label: '美国', value: 'us' },
  { label: '乌拉圭', value: 'uy' },
  { label: '乌兹别克斯坦', value: 'uz' },
  { label: '梵蒂冈', value: 'va' },
  { label: '圣文森特和格林纳丁斯', value: 'vc' },
  { label: '委内瑞拉', value: 've' },
  { label: '英属维尔京群岛', value: 'vg' },
  { label: '美属维尔京群岛', value: 'vi' },
  { label: '越南', value: 'vn' },
  { label: '瓦努阿图', value: 'vu' },
  { label: '瓦利斯和富图纳', value: 'wf' },
  { label: '萨摩亚', value: 'ws' },
  { label: '科索沃', value: 'xk' },
  { label: '也门', value: 'ye' },
  { label: '马约特', value: 'yt' },
  { label: '南非', value: 'za' },
  { label: '赞比亚', value: 'zm' },
  { label: '津巴布韦', value: 'zw' },
];

const getObjectText = (srcObj: object, label?: any) => {
  if (srcObj == null || label == null) {
    return '';
  }

  for (let [_, item] of Object.entries(srcObj)) {
    if (item.label.toString() == label.toString()) {
      return item.value;
    }
  }

  return '';
};

export const getCodeByName = (label: string) => {
  var text = getObjectText(CountryCodes, label);

  return text ?? '';
};
